package com.ssish.saas.eccs.mapper;

import com.ssish.saas.eccs.model.EmpPlanView;
import com.ssish.saas.eccs.model.EmpPlanViewExample;
import java.util.List;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;

public interface EmpPlanViewMapper {
    long countByExample(EmpPlanViewExample example);

    int deleteByExample(EmpPlanViewExample example);

    @Insert({
        "insert into EMP_PLAN_VIEW (EMP_PLAN_ID, EMPLOYEE_ID, ",
        "END_DATE, START_DATE, ",
        "LASTEDIT_DATE, MC_TAKEN_DAYS, ",
        "PLAN_CODE, USER_CODE, ",
        "ACTIVE_FLAG, OCCURENCE, ",
        "ACTIVATION_DATE, CANCELLATION_DATE, ",
        "RECORD_STATUS, REACTIVATION_DATE, ",
        "EXCLUDE_EXCLUSION, AGENT_CODE, ",
        "AGENCY_CODE, BROKER_CODE, ",
        "GROSS_PREMIUM, AGENT_COMM, ",
        "MGMT_FEES, MCO_FEES, MNRB_RISK, ",
        "DEBIT_NO, UNIT_RATE, ",
        "CURRENT_LIMIT, FAMILY_LIMIT, ",
        "TAKE_OVER_DATE, DEPENDENT_ID, ",
        "POLICY_NO, MEMBER_CONTROL_NO, ",
        "PAYOR_MEMBER_ID, CORP_CODE, ",
        "ASSIGNED_CODE)",
        "values (#{empPlanId,jdbcType=DECIMAL}, #{employeeId,jdbcType=CHAR}, ",
        "#{endDate,jdbcType=TIMESTAMP}, #{startDate,jdbcType=TIMESTAMP}, ",
        "#{lasteditDate,jdbcType=TIMESTAMP}, #{mcTakenDays,jdbcType=DECIMAL}, ",
        "#{planCode,jdbcType=VARCHAR}, #{userCode,jdbcType=VARCHAR}, ",
        "#{activeFlag,jdbcType=CHAR}, #{occurence,jdbcType=DECIMAL}, ",
        "#{activationDate,jdbcType=TIMESTAMP}, #{cancellationDate,jdbcType=TIMESTAMP}, ",
        "#{recordStatus,jdbcType=DECIMAL}, #{reactivationDate,jdbcType=TIMESTAMP}, ",
        "#{excludeExclusion,jdbcType=CHAR}, #{agentCode,jdbcType=VARCHAR}, ",
        "#{agencyCode,jdbcType=VARCHAR}, #{brokerCode,jdbcType=VARCHAR}, ",
        "#{grossPremium,jdbcType=CHAR}, #{agentComm,jdbcType=CHAR}, ",
        "#{mgmtFees,jdbcType=CHAR}, #{mcoFees,jdbcType=CHAR}, #{mnrbRisk,jdbcType=CHAR}, ",
        "#{debitNo,jdbcType=DECIMAL}, #{unitRate,jdbcType=DECIMAL}, ",
        "#{currentLimit,jdbcType=DECIMAL}, #{familyLimit,jdbcType=DECIMAL}, ",
        "#{takeOverDate,jdbcType=TIMESTAMP}, #{dependentId,jdbcType=CHAR}, ",
        "#{policyNo,jdbcType=VARCHAR}, #{memberControlNo,jdbcType=VARCHAR}, ",
        "#{payorMemberId,jdbcType=VARCHAR}, #{corpCode,jdbcType=VARCHAR}, ",
        "#{assignedCode,jdbcType=VARCHAR})"
    })
    int insert(EmpPlanView record);

    int insertSelective(EmpPlanView record);

    List<EmpPlanView> selectByExample(EmpPlanViewExample example);

    int updateByExampleSelective(@Param("record") EmpPlanView record, @Param("example") EmpPlanViewExample example);

    int updateByExample(@Param("record") EmpPlanView record, @Param("example") EmpPlanViewExample example);
}